package com.mvu.banana.common.client;

import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

/**
 * Created by IntelliJ IDEA.
 * User: mvu
 * Date: 4/10/11
 * Time: 1:06 AM
 * To change this template use File | Settings | File Templates.
 */
@RemoteServiceRelativePath("../common/EvalService")
public interface EvalService extends RemoteService {
  <T extends ValueDTO> T getValues(T state);

  /**
   * Utility/Convenience class.
   * Use EvalService.App.getInstance() to access static get of EvalServiceAsync
   */
  public static class App {
    private static final EvalServiceAsync ourInstance = (EvalServiceAsync) GWT.create(EvalService.class);

    public static EvalServiceAsync getInstance() {
      return ourInstance;
    }
  }
}
